var express = require('express');
var router = express.Router();
var connection = require('../db/sql.js');
var user = require('../db/userSql.js');
let jwt = require('jsonwebtoken');

/* GET home page. */
router.get("/", function (req, res, next) {
	res.render("index", { title: "Express" });
});

//查询购物车数据
router.post('/api/selectCart', function (req, res, next) {
	//token
	let token = req.headers.token;
	let tokenObj = jwt.decode(token);
	//查询用户
	connection.query(`select * from user where tel = ${tokenObj.tel}`, function (error, results) {
		//用户id
		let uId = results[0].id;
		//查询购物车
		connection.query(`select * from goods_cart where uId = ${uId}`, function (err, result) {
			res.send({
				data: {
					code: 200,
					success: true,
					data: result
				}
			})
		})
	})
});
//添加购物车数据
router.post('/api/addCart', function (req, res, next) {
	//后端接收前端的参数
	let goodsId = req.body.goodsId;
	//token
	let token = req.headers.token;
	let tokenObj = jwt.decode(token);
	//查询用户
	connection.query(`select * from user where tel = ${tokenObj.tel}`, function (error, results) {
		//用户id
		let uId = results[0].id;
		//查询商品
		connection.query(`select * from goods_list where id=${goodsId}`, function (err, result) {
			let goodsName = result[0].name;
			let goodsPrice = result[0].price;
			let goodsImgUrl = result[0].imgUrl;
			connection.query(`insert into goods_cart (uId,goods_id,goods_name,goods_price,goods_num,goods_imgUrl) values ("${uId}","${goodsId}","${goodsName}","${goodsPrice}","1","${goodsImgUrl}")`, function (e, r) {
				res.send({
					data: {
						code: 200,
						success: true,
						msg: '添加成功'
					}
				})
			})
		})
	})
});
// 首页铁观音的数据
router.get("/api/index_list/2/data/1", function(req, res, next) {
    res.send({
		code:0,
		data:[
			{
				id:1,
				type:'adList',
				data:[
					{
						id:1,
						imgUrl:'./images/tgy.jpeg'
					},
					{
						id:2,
						imgUrl:'./images/tgy.jpeg'
					}
				]
			},
			{
				id:1,
				type:'iconsList',
				data:[
					{
						id:1,
						title:'自饮茶',
						imgUrl:'./images/icons1.png'
					},
					{
						id:2,
						title:'茶具',
						imgUrl:'./images/icons2.png'
					},
					{
						id:3,
						title:'茶礼盒',
						imgUrl:'./images/icons3.png'
					},
					{
						id:4,
						title:'领福利',
						imgUrl:'./images/icons4.png'
					},
					{
						id:5,
						title:'官方验证',
						imgUrl:'./images/icons5.png'
					}
				]
			},
			{
				id:3,
				type:'likeList',
				data:[
					{
						id:1,
						imgUrl:'./images/like.jpeg',
						name:'建盏茶具套装 红色芝麻毫 12件套',
						price:299
					},
					{
						id:2,
						imgUrl:'./images/like.jpeg',
						name:'建盏茶具套装 红色芝麻毫 12件套',
						price:299
					},
					{
						id:3,
						imgUrl:'./images/like.jpeg',
						name:'建盏茶具套装 红色芝麻毫 12件套',
						price:299
					}
				]
			}
			
		]
	})
});

//首页大红袍的数据;
router.get("/api/index_list/1/data/1", function(req, res, next) {
    res.send({
		code:0,
		data:[
			{
				id:1,
				type:'adList',
				data:[
					{
						id:1,
						imgUrl:'./images/dhp.jpeg'
					},
					{
						id:2,
						imgUrl:'./images/dhp.jpeg'
					}
				]
			},
			{
				id:2,
				type:'likeList',
				data:[
					{
						id:1,
						imgUrl:'./images/like.jpeg',
						name:'建盏茶具套装 红色芝麻毫 12件套',
						price:299
					},
					{
						id:2,
						imgUrl:'./images/like.jpeg',
						name:'建盏茶具套装 红色芝麻毫 12件套',
						price:299
					},
					{
						id:3,
						imgUrl:'./images/like.jpeg',
						name:'建盏茶具套装 红色芝麻毫 12件套',
						price:299
					}
				]
			}
			
		]
	})
});
//首页推荐的数据
router.get("/api/index_list/0/data/1", function (req, res, next) {
	res.send({
		code:0,
		data:{
			topBar:[
				{id:0,label:'推荐'},
				{id:1,label:'大红袍'},
				{id:2,label:'铁观音'},
				{id:3,label:'绿茶'},
				{id:4,label:'普洱'},
				{id:5,label:'茶具'},
				{id:6,label:'花茶'},
			],
			data:[
				//这是swiper
				{
					id:0,
					type:'swiperList',
					data:[
						{id:0,imgUrl:'./images/swiper1.jpeg'},
						{id:1,imgUrl:'./images/swiper2.jpeg'},
						{id:3,imgUrl:'./images/swiper3.jpeg'}
					]
				},
				//这是icons
				{
					id:1,
					type:'iconsList',
					data:[
						{
							id:1,
							title:'自饮茶',
							imgUrl:'./images/icons1.png'
						},
						{
							id:2,
							title:'茶具',
							imgUrl:'./images/icons2.png'
						},
						{
							id:3,
							title:'茶礼盒',
							imgUrl:'./images/icons3.png'
						},
						{
							id:4,
							title:'领福利',
							imgUrl:'./images/icons4.png'
						},
						{
							id:5,
							title:'官方验证',
							imgUrl:'./images/icons5.png'
						}
					]
				},
				//爆款推荐
				{
					id:3,
					type:'recommendList',
					data:[
						{
							id:1,
							name:'龙井1號铁罐250g',
							content:'鲜爽甘醇 口粮首选',
							price:'68',
							imgUrl:'./images/recommend.jpeg'
						},
						{
							id:2,
							name:'龙井1號铁罐250g',
							content:'鲜爽甘醇 口粮首选',
							price:'68',
							imgUrl:'./images/recommend.jpeg'
						}
					]
				},
				//猜你喜欢
				{
					id:4,
					type:'likeList',
					data:[
						{
							id:1,
							imgUrl:'./images/goods1.jpg',
							name:'赛事茶-第三届武夷山茶叶交易会暨仙店杯-优质奖肉桂160g',
							price:238
						},
						{
							id:2,
							imgUrl:'./images/goods2.jpg',
							name:'茶具-中式陶瓷茶叶罐 2色可选',
							price:26
						},
						{
							id:3,
							imgUrl:'./images/goods3.jpg',
							name:'绿茶  远致龙井3号 150g 清爽甘醇',
							price:118
						},
						{
							id:4,
							imgUrl:'./images/goods4.jpg',
							name:'明前春茶 绿茶 龙井破春系列80g罐装',
							price:98
						},
						{
							id:5,
							imgUrl:'./images/like.jpeg',
							name:'建盏茶具套装 红色芝麻毫 12件套',
							price:299
						},
						{
							id:6,
							imgUrl:'./images/like.jpeg',
							name:'建盏茶具套装 红色芝麻毫 12件套',
							price:299
						},
						{
							id:7,
							imgUrl:'./images/like2.jpeg',
							name:'建盏茶具套装 红色芝麻毫 12件套',
							price:299
						},
						{
							id:8,
							imgUrl:'./images/like3.jpeg',
							name:'建盏茶具套装 红色芝麻毫 12件套',
							price:299
						},
						{
							id:9,
							imgUrl:'./images/like2.jpeg',
							name:'建盏茶具套装 红色芝麻毫 12件套',
							price:299
						},
						{
							id:10,
							imgUrl:'./images/like3.jpeg',
							name:'建盏茶具套装 红色芝麻毫 12件套',
							price:299
						}
					]
				}
				
			]
		}
	})
});

//查询商品id的数据
router.get('/api/goods/id', function (req, res, next) {
	let id = req.query.id;
	connection.query('select * from goods_list where id='+id+'',function(error,results){
		if( error ) throw error;
		res.json({
			code: 0,
			data: results[0]
		})
	})
});

//分类的接口
router.get('/api/goods/list', function (req, res, next) {

	res.send({
		code: 0,
		data: [
			{
				//一级
				id: 0,
				name: '推荐',
				data: [
					{
						//二级
						id: 0,
						name: '推荐',
						list: [
							//三级
							{
								id: 0,
								name: '铁观音',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 1,
								name: '功夫茶具',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 3,
								name: '茶具电器',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 4,
								name: '紫砂壶',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 5,
								name: '龙井',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 6,
								name: '武夷岩茶',
								imgUrl: './images/list1.jpeg'
							}
						]
					}
				]
			},
			{
				//一级
				id: 1,
				name: '绿茶',
				data: [
					{
						//二级
						id: 0,
						name: '绿茶',
						list: [
							//三级
							{
								id: 0,
								name: '龙井',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 1,
								name: '碧螺春',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 3,
								name: '雀舌',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 4,
								name: '安吉白茶',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 5,
								name: '六安瓜片',
								imgUrl: './images/list1.jpeg'
							}
						]
					}
				]
			},
			{
				//一级
				id: 2,
				name: '乌龙',
				data: [
					{
						//二级
						id: 0,
						name: '乌龙',
						list: [
							//三级
							{
								id: 0,
								name: '龙井',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 1,
								name: '碧螺春',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 3,
								name: '雀舌',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 4,
								name: '安吉白茶',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 5,
								name: '六安瓜片',
								imgUrl: './images/list1.jpeg'
							}
						]
					}
				]
			},
			{
				//一级
				id: 3,
				name: '红茶',
				data: [
					{
						//二级
						id: 0,
						name: '红茶',
						list: [
							//三级
							{
								id: 0,
								name: '龙井',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 1,
								name: '碧螺春',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 3,
								name: '雀舌',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 4,
								name: '安吉白茶',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 5,
								name: '六安瓜片',
								imgUrl: './images/list1.jpeg'
							}
						]
					}
				]
			},
			{
				//一级
				id: 4,
				name: '白茶',
				data: [
					{
						//二级
						id: 0,
						name: '白茶',
						list: [
							//三级
							{
								id: 0,
								name: '龙井',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 1,
								name: '碧螺春',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 3,
								name: '雀舌',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 4,
								name: '安吉白茶',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 5,
								name: '六安瓜片',
								imgUrl: './images/list1.jpeg'
							}
						]
					}
				]
			},
			{
				//一级
				id: 5,
				name: '普洱',
				data: [
					{
						//二级
						id: 0,
						name: '普洱',
						list: [
							//三级
							{
								id: 0,
								name: '龙井',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 1,
								name: '碧螺春',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 3,
								name: '雀舌',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 4,
								name: '安吉白茶',
								imgUrl: './images/list1.jpeg'
							},
							{
								id: 5,
								name: '六安瓜片',
								imgUrl: './images/list1.jpeg'
							}
						]
					}
				]
			}

		]
	})
});

// =======
//查询商品数据接口
router.get('/api/goods/shopList', function (req, res, next) {
	let [searchName, orderName] = Object.keys(req.query);
	let [name, order] = Object.values(req.query);
	console.log(searchName, orderName, name, order);
	connection.query('select * from goods_list where name like "%' + name + '%"  order by ' + orderName + ' ' + order + '', function (error, results) {
		res.send({
			code: 0,
			data: results
		})
	})
});

//重置密码
router.post("/api/recovery", function (req, res, next) {
	let params = {
		userTel: req.body.phone,
		userPwd: req.body.pwd,
	};

	//查询用户是否存在
	connection.query(user.queryUserTel(params), function (error, results) {
		//某一条记录数id
		let id = results[0].id;
		let pwd = results[0].pwd;
		console.log(
			`update user set pwd = replace(pwd,${pwd},${params.userPwd}) where id = ${id}`
		);
		connection.query(
			`update user set pwd = replace(pwd,'${pwd}','${params.userPwd}') where id = ${id}`,
			function (err, result) {
				res.send({
					code: 200,
					data: {
						success: true,
						msg: "修改成功",
					},
				});
			}
		);
	});
});

//查询用户是否存在
router.post("/api/selectUser", function (req, res, next) {
	let params = {
		userTel: req.body.phone,
	};
	connection.query(user.queryUserTel(params), function (error, results) {
		//用户存在
		if (results.length > 0) {
			res.send({
				code: 200,
				data: {
					success: true,
					msg: "查询成功",
				},
			});
		} else {
			res.send({
				code: 201,
				data: {
					success: false,
					msg: "此用户不存在",
				},
			});
		}
	});
});

//增加用户
router.post("/api/addUser", function(req, res, next) {
    let params = {
        userTel: req.body.phone,
    };
    //查询用户是否存在
    connection.query(user.queryUserTel(params), function(error, results) {
        if (error) throw error;
        //用户存在
        if (results.length > 0) {
            res.send({
                code: 200,
                data: {
                    success: true,
                    msg: "登录成功",
                    data: results[0],
                },
            });
        } else {
            //不存在，新增一条数据
            connection.query(user.inserData(params), function(err, result) {
                connection.query(user.queryUserTel(params), function(e, r) {
                    res.send({
                        code: 200,
                        data: {
                            success: true,
                            msg: "登录成功",
                            data: r[0],
                        },
                    });
                });
            });
        }
	})
});
router.post('/api/register', function(req, res, next) {
	let params = {
		userTel: req.body.phone,
		userPwd: req.body.pwd
	}
	//查询用户是否存在
	connection.query(user.queryUserTel(params), function (error, results) {
		if (error) throw error;
		//用户存在
		if (results.length > 0) {
			res.send({
				code: 200,
				data: {
					success: false,
					msg: '该手机号码已被注册',
					data: results[0]
				}
			})
		} else {
			//不存在,新增一条数据
			connection.query(user.inserData(params), function (err, result) {
				connection.query(user.queryUserTel(params), function (e, r) {
					res.send({
						code: 200,
						data: {
							success: true,
							msg: '注册成功',
							data: r[0]
						}
					})
				})
			})
		}
	})
});


//发送验证码
router.post("/api/code", function (req, res, next) {
	let phoneNum = req.body.phone; //获取前端参数phone
	// console.log(typeof(phoneNum));
	console.log("手机号码", phoneNum);

	// 生成六位随机验证码
	let smsCode = Math.random().toString().slice(-6);
	// let code = JSON.parse(smsCode);
	// console.log(`${smsCode}`);

	// console.log('{\"code\":\"'+smsCode+'\"}');
	// console.log(typeof(smsCode));
	// console.log("smsCode:", smsCode);
	var client = new Core({
		accessKeyId: "LTAI5tS7NvPtzkphx1r8XUYg",
		accessKeySecret: "2WCEgbaFQObcqptmECjO8qPFwSCW4S",
		// securityToken: '<your-sts-token>', // use STS Token
		endpoint: "https://dysmsapi.aliyuncs.com",
		apiVersion: "2017-05-25",
	});
	var params = {
		PhoneNumbers: phoneNum,
		SignName: "易泊车停车",
		TemplateCode: "SMS_243241451",
		TemplateParam: `{"code":'${smsCode}'}`,
	};

	console.log(params.TemplateParam);
	var requestOption = {
		method: "POST",
		formatParams: false,
	};

	// function callback(err, ress, resData) {
	// 	if (err) {
	// 		console.log("err: ", err);
	// 	} else {
	// 		console.log(ress.req.body.smsCode)
	// 		res.send({
	// 			code:200,
	// 			data:{
	// 				success:true,
	// 				data:ress.req.body.smsCode
	// 			}
	// 		})
	// 	}
	// }

	client.request("SendSms", params, requestOption).then(
		(result) => {
			console.log(result.Code);
			console.log(smsCode);
			if (result.Code == "OK") {
				res.send({
					code: 200,
					data: {
						success: true,
						data: smsCode,
					},
				});
			}
		},
		(ex) => {
			console.log(ex);
		}
	);
});
//登录
router.post("/api/login", function (req, res, next) {
	//后端要接收前端传递过来的值
	let params = {
		userTel: req.body.userTel,
		userPwd: req.body.userPwd,
	};

	//查询用户手机号是否存在
	connection.query(user.queryUserTel(params), function (error, results) {
		//手机号存在
		if (results.length > 0) {
			connection.query(user.queryUserPwd(params), function (err, result) {
				if (result.length > 0) {
					//手机号和密码都对
					res.send({
						code: 200,
						data: {
							success: true,
							msg: "登录成功",
							data: result[0],
						},
					});
				} else {
					//密码不对
					res.send({
						code: 302,
						data: {
							success: false,
							msg: "密码不正确",
						},
					});
				}
			});
		} else {
			//不存在
			res.send({
				code: 301,
				data: {
					success: false,
					msg: "手机号不存在",
				},
			});
		}
	});
});
module.exports = router;
